package com.zxy.salenet.web.mapper;

import com.zxy.salenet.web.pojo.SalenetAdmins;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
/**
  *   SalenetAdminsMapper
     */
public interface SalenetAdminsMapper extends Mapper<SalenetAdmins> {
    /**
     * 获取所有的管理员信息
     * @param adminRealName
     * @return
     */
    @Select(value = "SELECT * FROM salenet_admins WHERE admins_realname LIKE #{adminRealName}")
    List<SalenetAdmins> selectAllAdmin(@Param("adminRealName") String adminRealName);

    /**
     * 获取是否存在重复管理员
     * @param adminName 管理员账号
     * @param adminRealName 管理员真实姓名
     * @return
     */
    @Select(value = "SELECT COUNT(0) FROM salenet_admins WHERE admins_name = #{adminName} or admins_realname = #{adminRealName}")
    Integer selectCountByAdmins(@Param("adminName") String adminName,@Param("adminRealName") String adminRealName);

    /**
     * 添加一个管理员信息
     * @param admins
     * @return
     */
    @Insert(value = "insert into salenet_admins values(default,#{adminsName},#{adminsPasswd},#{adminsRealname},#{adminsPhone},#{adminsPower})")
    Integer insertAdmins(SalenetAdmins admins);

    /**
     * 删除一个管理员。
     * @param id
     * @return
     */
    @Delete(value = "delete from salenet_admins where id = #{id}")
    Integer deleteAdminById(@Param("id") Integer id);

    /**
     * 管理员登陆。
     * @param adminsName 管理员姓名
     * @param adminsPasswd  管理员密码
     * @return
     */
    @Select(value = "select * from salenet_admins where admins_name = #{adminsName} and admins_passwd = #{adminsPasswd}")
    SalenetAdmins selectAdminByUserNameAndPasswd(@Param("adminsName") String adminsName,@Param("adminsPasswd") String adminsPasswd);

    @Select(value = "select id from salenet_admins where admins_realname = #{rname}")
    Integer selectIdByName(@Param("rname")String rname);
    /**
     * 完成
     */
}